home *** CD-ROM | disk | FTP | other *** search
/ Collection of Internet / Collection of Internet.iso / infosrvr / doc / www_talk.arc / 000020_jfg@bernd.cern.ch _Mon Dec 2 10:07:44 1991.msg < prev    next >
Internet Message Format  |  1992-11-30  |  11KB

  1. Return-Path: <jfg@bernd.cern.ch>
  2. Received: from dxmint.cern.ch by  nxoc01.cern.ch  (NeXT-1.0 (From Sendmail 5.52)/NeXT-2.0)
  3.     id AA19808; Mon, 2 Dec 91 10:07:44 GMT+0100
  4. Received: by dxmint.cern.ch (cernvax) (5.57/3.14)
  5.     id AA25300; Mon, 2 Dec 91 09:58:00 +0100
  6. Received: by bernd.cern.ch (AIX 3.1/UCB 5.61/4.03)
  7.           id AA14185; Mon, 2 Dec 91 10:08:04 -2300
  8. Date: Mon, 2 Dec 91 10:08:04 -2300
  9. From: jfg@bernd.cern.ch (Jean-Francois Groff)
  10. Message-Id: <9112030908.AA14185@bernd.cern.ch>
  11. To: www-talk@nxoc01.cern.ch
  12. Subject: forwarded message from connolly@pixel.convex.com
  13.  
  14. WWW folks may like to comment on this, posted to wais-talk and
  15. cni-arch... Sorry if you've already read it there !
  16.  
  17. -- Jean-Francois
  18.  
  19. ------- Start of forwarded message -------
  20.  
  21. From: connolly@pixel.convex.com
  22. To: wais-talk@Think.COM
  23. Cc: cni-arch@uccvma.BITNET
  24. Subject: Re: Document identifiers 
  25. Date: Mon, 02 Dec 91 01:32:36 CST
  26.  
  27.  
  28. >The Coalition for Networked Information
  29. >Architectures & Standards Working Group
  30. >
  31. I don't like the direction this technology is headed.
  32.  
  33. What is the desired functionality of these identifiers?
  34.  
  35. If you want an identifier that uniquely identifies a file,
  36. why not use a checksum, such as returned by the unix
  37. sum command?
  38.  
  39. Let's see how a checksum solves these issues, and then see
  40. what functionality I'd like to see in stead.
  41.  
  42. >1. The need for identifiers, as distinct from location
  43. >information. This is best handled by a number (much like an
  44. >ISSN or ISBN), but the system must accomodate multiple
  45. >number-assigning agencies. Thus, the identifier is proposed
  46. >as <numbering-authority>,<identifier> where numbering
  47. >authorities are registered.
  48. >
  49. There's no location info in a checksum. Done deal.
  50.  
  51. >2. The pointers must be representable as an ASCII string to
  52. >facilitate inclusion in a wide range of material, including
  53. >documents and electronic mail.
  54. >
  55. Check.
  56.  
  57. >3. Location information must support multiple Locations for
  58. >the document, including the "location of record" and one or
  59. >more redistribution centers, local caches, etc. The means of
  60. >specifying a location should be sufficiently general to span
  61. >at least the set of networks covered under the Internet
  62. >Domain Naming system (DNS).
  63. >
  64. Ah! Now we want to be able to get location info out of the
  65. identifier. Checksums don't help. Well, in fact, they help
  66. no more or less than <numbering authority>-<id> helps, unless
  67. a numbering authority implies a location. I'm not clear on
  68. this at all.
  69.  
  70. >4. Objects may be retrieved by a variety of access
  71. >mechanisms from servers, including FTP, LISTSERV, Z39.50,
  72. >and perhaps FTAM and SQL-based database access, as well as
  73. >requests for paper copies. The location information should
  74. >be sufficiently general to include information about these
  75. >different types of access techniques, and extensible to
  76. >include new access methods that may develop in future.
  77. >
  78. Hmmm... now it looks like the doc id should tell how to
  79. get the document... but not exactly. What we're relly looking
  80. for is some client software that interprets these numbers
  81. and queries servers. Checksums look as good as anything again.
  82.  
  83. >5. Perhaps the location identifier should include some
  84. >information about the format and size of the object; on the
  85. >other hand, perhaps it should not. Discussion?
  86. >
  87. Checksums do not contain type/size info. If that's what we want,
  88. the checksum idea is no good.
  89.  
  90. >6. It should be possible to further qualify a reference to a
  91. >"sublocation" within an object (which would have meaning
  92. >only to the server that houses it). This is needed, for
  93. >example, for hypertext-type links.  Such a sublocation might
  94. >be the 25th paragraph of a text, for a hypertext-type
  95. >pointer.
  96. >
  97. Now we raise the question: just what does a document identifier
  98. identify? Until this item, it appeared that a document was
  99. a file. Now it's not so clear. Perhaps a document should be anything
  100. from a single character to a paragraph to a file to a chapter to
  101. a book to an encyclopedia to a library. That would be a good trick.
  102. Is that what we're after?
  103.  
  104. >7. Indirection should be supported. In other words, one
  105. >should be able to format the location as the name of a
  106. >server that can be passed the identifier and which would
  107. >return location information. The protocol mechanism(s) for
  108. >doing this need to be specified as well.
  109. >
  110. Ah. Now the objectives of the location info become more clear.
  111. Sounds to me like the location is a TCP connection, or enough
  112. information on how to establish one.
  113.  
  114. >8. While full rights and permissions data would seem to be
  115. >outside the scope of such a pointer, it might be useful to
  116. >include at least some basic information. This might be an
  117. >indication that the object is not copyrighted and can be
  118. >freely distributed, that it is copyrighted but can be freely
  119. >distributed, that it can be redistributed for noncommercial
  120. >use, or that restrictions apply to redistribution. Also, it
  121. >might make sense to include a pointer of some sort (an
  122. >e-mail address? a host address?) for further information
  123. >about rights.
  124. >
  125. Ack! This stuff seems totally orthogonal to the rest of the
  126. stuff, but in practice, this looks like a crucial issue.
  127. I don't have any good ideas here.
  128.  
  129. >9. Perhaps there might be some type of checksum that can be
  130. >calculated on the retrieved object to ensure that the
  131. >pointer and the object have not gotten out of synch?
  132. >
  133. This is what sparked the checksum idea.
  134.  
  135.  
  136. My response to all this:
  137.  
  138. I don't think we need [yet another] document identifier format.
  139. If you want location info, use an internet address; if you want
  140. data integrity, use a checksum; if you want format, we are lacking
  141. a standard here; if you want copyright info, ditto;
  142.  
  143. What we need is some nifty client software to glue all the parts
  144. together. I guess there is some room for standardization, but please:
  145.     LET'S LEVERAGE EXISTING SYSTEMS!
  146.  
  147. Where these systems are robust, I think we should support them. I'd
  148. also like to see support for ad-hoc document identifiers. Here's
  149. an example to clarify:
  150.  
  151. I'm browsing some email, netnews, or a README file from somewhere.
  152. I see a reference to more info:
  153.  
  154.     A full discussion of the BLURF protocol is available via
  155.     anonymous FTP from frob.mit.edu as blurf-proto.tex
  156.     in the directory /pub/protos.
  157.  
  158. I select some or all of that text, and I click one of the buttons
  159. in my document retrieval tool:
  160.  
  161.     make ftp id --    extract the relevant information and display
  162.             a well-formed identifier acceptable to some
  163.             existing FTP client (I've heard of something
  164.             called ange FTP. Another idea is to make
  165.             a shell script that would do the retrieval:
  166. ftp frob.mit.edu
  167. cd /pub/protos
  168. get blurf-proto.tex
  169.             )
  170.  
  171.     make wais id --    get enough info to make a WAIS doc ID
  172.             [scrap this unless it stabilizes]
  173.     make WWW id --    same thing for World Wide Web HTTP addresses.
  174.     make NNTP id --    same thing for USENET news message id's.
  175.     make LISTSERV id --    you get the idea
  176.             Rather than making up a new format, these id's
  177.             are instructions to EXISTING clients to retrieve
  178.             a document.
  179.  
  180.     verify id --    connect to the necessary server(s) and verify
  181.             that the id references an existing document.
  182.             Append to the id a "verification date," which
  183.             is the last time a server acknowledged the
  184.             existence of the document.
  185.  
  186.     get id info --    connect to the necessary server(s) and get about
  187.             1K of miscellaneous info: document size in bytes,
  188.             date of last modification, available formats,
  189.             short summary, etc.
  190.  
  191.     retrieve raw --    connect and retrieve the document in whatever
  192.             format is convenient to the server, e.g.
  193.             a compressed tar archive of C and troff sources.
  194.  
  195.     retrieve text --    connect and retrieve the document as
  196.             plain text [defined, e.g. as the body of an 
  197.             RFC-822 mail message]
  198.  
  199.     retrieve... --    the user or the supporting client software
  200.             specifies the supported information formats,
  201.             (compression schemes, archiving formats,
  202.             image file formats, typesetting languages)
  203.             the client and the server hash over their options,
  204.             [perhaps with user intervention]
  205.             and the server sends the most desireable version
  206.             of the document it has available.
  207.  
  208. If we add a few buttons, we begin to encompass the scope of many existing
  209. systems:
  210.  
  211.     expand --    change the doc id to reference the "document"
  212.             containing it. In the ftp example, rather than
  213.             "get blurf.tex," it would have "ls."
  214.             Click again and get "cd ..; ls."
  215.             Obviously, this operation depends on the access
  216.             mechanism. For WAIS documents, the expansion of
  217.             a document is the source that contains it.
  218.  
  219.     select --    narrow the document to some of its parts. For a
  220.             text file, select some of the characters/paragraphs
  221.             for a WAIS source, select some of the documents.
  222.             For a WWW node, select a neighboring node. For
  223.             a directory, select some files.
  224.  
  225. I guess my point is, let's think about how folks are going to use this
  226. document referencing technology, and let's see how well existing systems
  227. meet these needs.
  228.  
  229. I guess some groups have come to the conclusion that the existing systems
  230. don't cut it. I'm beginning to agree.
  231.  
  232. I guess we'd all agree that we should decide how we're going to use these
  233. doc id's and let that drive the design of the format. i.e. Let's decide
  234. on the methods of this object before we decide on its representation.
  235.  
  236. [an idea: for syntax, the WAIS folks chose LISP. What about using
  237. something akin to RFC-822 syntax? I think it works well: define a bunch
  238. of standard headers; require some, allow some, disregard others; allow
  239. free-form text in the body. examples:
  240.  
  241. ISBN: 0-13-590126-X
  242.     or
  243. MESSAGE-ID: usenet-thing
  244.     or
  245. FTP-HOST:  frob.mit.edu
  246. USER:    anonymous
  247.     or
  248. WAIS-PORT:    8001@think.com
  249.  
  250.  
  251. This would allow us to leverage all the email technology out there, plus 
  252. the emerging multi-part mail format.
  253. (and it would allow me to use PERL on these beasties! :-)
  254. ]
  255.  
  256. Another thing I hope folks are keeping in mind: I don't think any one
  257. client can meet the information-retrieval needs of everybody. We need
  258. to support multiple platforms, for one thing. But I hope other folks are
  259. considering using mulitple clients at the same time! I'd like to use
  260. one slick X-windows front end to the whole ball of wax, in some ways like
  261. emacs does for programming, and in some ways like the mac GUI does for
  262. office-productivity applications. But I'm going to be using POST mail
  263. servers, NNTP servers, WAIS servers, FTP servers, etc, and I don't
  264. expect one client to do it all. The crucial trick is to make all this
  265. intuitive and interactive, i.e. to support hypertext browsing, fulltext
  266. retrieval, USENET news reading, and maybe email correspondence, all in
  267. one environment. Let's get started!
  268.  
  269. Dan
  270.  
  271. ------- End of forwarded message -------